用 wg-easy 五分钟搭建 WireGuard VPN,在外也能轻松访问家庭内网
想要在外随时随地访问家里的 NAS、打印机、路由器?WireGuard 是现在最流行的 VPN 协议,而 wg-easy 让部署变得前所未有的简单。本文带你一步步用 Docker 搭建 WireGuard VPN,实现公网安全访问家庭局域网。

前言
作为一个 Homelab 玩家,我们家里跑了各种各样的服务:NAS 存着资料、打印机共享文档、路由器管理后台、OpenClaw AI 助手… 这些服务只对内网开放,平时在家用着很舒服,但一旦出门想找个文件,就只能“望网兴叹”。
传统的内网穿透方案要么不稳定、要么收费贵、要么配置复杂。今天给大家推荐一个开箱即用的方案:wg-easy + WireGuard,用 Docker 一键部署,五分钟就能拥有一个属于自己的安全 VPN,随时随地连回家中局域网。
参考视频:(待发布)
项目地址:https://github.com/wg-easy/wg-easy
为什么选择 WireGuard + wg-easy
WireGuard 是目前最火的现代 VPN 协议,相比 OpenVPN 它:
- ✅ 更快:加密算法更高效,延迟更低
- ✅ 更轻量:内核级实现,资源占用极小
- ✅ 更安全:代码简洁,更容易审计
- ✅ 更易用:配置简单,支持漫游
而 wg-easy 把 WireGuard 的复杂配置打包成了一个友好的 Web UI,让你:
- 🐳 Docker 一键部署
- 🖥️ 可视化 Web 管理界面
- 🔑 一键生成客户端配置二维码
- 📱 手机扫码直接连接,无需手动改配置
- 🌍 所有核心配置都在 Web 界面完成,无需重启容器
💡 版本提示:wg-easy 15 版本之后重构了配置系统,
WG_HOST、PASSWORD等参数改到 Web 界面配置了,本文针对最新版本编写。
准备工作
在开始之前,你需要准备:
- 一台公网可访问的服务器(家里有公网 IP 部署在家里 NAS/路由器最好,没有的话用 VPS 也可以)
- Docker 和 Docker Compose 已经安装
- 开放端口:
51820/udp(WireGuard 端口)和51821/tcp(Web 管理端口)
部署步骤
1. 创建 Docker Compose 文件
创建一个目录,然后新建 docker-compose.yml:
services:
wg-easy:
image: ghcr.io/wg-easy/wg-easy:15
container_name: wg-easy
restart: unless-stopped
environment:
#如果使用https反向代理,需要开启这一项
- INSECURE=true
volumes:
- etc_wireguard:/etc/wireguard
ports:
- "51820:51820/udp"
- "51821:51821/tcp"
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
2. 启动容器
docker-compose up -d
等待镜像拉取完成,容器启动后,访问 http://你的服务器IP:51821 打开管理界面。第一次访问会进入初始化向导。
3. Web 界面完成配置
初始化向导会让你配置:
- 管理员账号密码:设置 Web 管理界面的登录账号和密码
- WireGuard 端口:默认
51820,一般不用改 - 主机地址 :填入你的服务器公网 IP 或者域名,这个地址会自动写入客户端配置
确认配置后保存。
如果你想让客户端 只代理局域网 IP 流量而不是代理全局流量,需要配置允许的 IP:右上角管理面板 -> 网络配置 -> 允许的 IP -> 填入 10.8.0.0/24 (默认网段)
4. 添加客户端
配置完成后登录 Web 管理界面,点击「创建客户端」,输入客户端名称(比如「iPhone」、「MacBook Pro」),直接创建即可。
创建完成后,会显示一个二维码:
- 手机端:下载 WireGuard APP,点击「添加隧道」→「从二维码导入」,扫码直接导入配置
- 电脑端:点击「Download」下载配置文件,导入到 WireGuard 客户端
客户端使用
各个平台都有 WireGuard 客户端:
| 平台 | 下载方式 |
|---|---|
| iOS | App Store 搜索 «WireGuard» |
| Android | Google Play 或者 GitHub 下载 |
| Windows | 官网 https://www.wireguard.com/install/ |
| macOS | App Store 或者 Homebrew |
导入配置后,点一下「连接」,所有设备就连入同一个 VPN 网络了:
- VPN 服务器(家里的 NAS/VPS)能访问,你的手机/笔记本也就能访问
- 所有客户端之间互相看得见,直接内网互通
- 如果你把 wg-easy 部署在家里,连上 VPN 就等同于在家中局域网,可以直接访问任何内网服务,和在家一样
使用体验
wg-easy 最大的优点就是简单,对于需要在外访问家庭内网来说,这绝对是目前最优雅的自建 VPN 方案:
- 启动快:容器秒起,连接建立只需要几百毫秒
- 管理方便:Web UI 点几下就能添加删除用户,所有配置可视化
- 二维码导入:手机端真的太方便了,不用复制粘贴配置
- 稳定运行:新版本重构后更稳定,长期运行不出问题
常见问题
Q: 连接成功了,但访问不了家里内网?
A: 确认 wg-easy 部署在你家里的内网网关/服务器,服务器本身已经能访问内网,WireGuard 配置好 IP 转发后,客户端连上自然就能访问。
Q: 二维码分享配置安全吗?
A: 二维码包含了客户端的独立密钥,只分享给你自己用,不要泄露二维码就没问题。每个客户端都是独立密钥,随时可以在 Web UI revoke 删除。
Q: 可以多个设备同时连接吗?
A: 完全可以,每个设备一个客户端配置,互相不影响,Web UI 一目了然。
Q: v14 升级到 v15 需要重新配置吗?
A: 需要,v15 重构了配置存储格式,建议备份后重新部署。
总结
如果你需要在外访问家庭内网,又不想用第三方内网穿透服务,wg-easy + WireGuard 绝对是目前最优解之一:
- 👍 部署简单:Docker 一键启动,Web 界面完成所有配置
- 👍 管理方便:添加删除用户全可视化操作
- 👍 性能优异:WireGuard 本身就是内核级实现,速度快延迟低
- 👍 完全免费:开源项目,没有使用限制,没有人数限制
现在就动手搭一个,出门也能随时访问家里的资料了!